/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.ucuenca.paginaasos.uimanager;

import edu.ucuenca.paginaasos.entity.Categoria;
import edu.ucuenca.paginaasos.entity.Libro;
import edu.ucuenca.paginaasos.entity.Persona;
import edu.ucuenca.paginaasos.entity.Publicidad;
import edu.ucuenca.paginaasos.entity.Usuario;
import javax.el.ELContext;
import javax.el.ValueExpression;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
/**
 *
 * @author wilo
 */
@ManagedBean(name="Action")
@SessionScoped
public class Action {
    private Usuario usuario;
    public static Action getInstance() {
        ELContext context = FacesContext.getCurrentInstance().getELContext();
        ValueExpression ex = FacesContext.getCurrentInstance().getApplication().getExpressionFactory().
                createValueExpression(context, "#{Action}", Action.class);
        return (Action) ex.getValue(context);
    }
    public String ListaPublicidad2() {
        GestorPublicidad.getInstance().cargarLista();
        return "FrmPublicidades.xhtml";
    }
    public String CrearPublicidad2() {
        GestorPublicidad.getInstance().setPublicidad(new Publicidad());
        GestorPublicidad.getInstance().setProceso("nuevo");
        return "FrmCrearPublicidad.xhtml";
    }
    public String ListaMaterial() {
        GestorMaterial.getInstance().cargarLista();
        
        return "FrmMateriales.xhtml";
    }
    public String CrearMaterial() {
        GestorMaterial.getInstance().setMaterial(new Libro());
        GestorMaterial.getInstance().setProceso("nuevo");
        return "FrmCrearMaterial.xhtml";
    }
    public String ListaCategoria() {
        GestorCategoriaMaterial.getInstance().cargarLista();
        return "FrmCategorias.xhtml";
    }
    public String CrearCategoria() {
        GestorCategoriaMaterial.getInstance().setCategoria(new Categoria());
        GestorCategoriaMaterial.getInstance().setProceso("nuevo");
        return "FrmCrearCategoria.xhtml";
    }
    public String ListaUsuarios() {
        GestorUsuarioEscuela.getInstance().cargarLista();
        return "FrmUsuarios.xhtml";
        
       
    }
    public String CrearUsuario() {

        System.out.println("llega Crear usuariuo");
         
        GestorUsuarioEscuela.getInstance().setPersona(new Persona());
        //GestorUsuarioEscuela.getInstance().setProceso("nuevo");
        return "FrmCrearUsuario.xhtml";
    }
    

    public Usuario getUsuario() {
        if(usuario==null)
            usuario= GestorUsuario.getInstance().getUsuarioActual();
        return usuario;
    }
    public boolean getEstaLogueado()
    {
        return getUsuario()!=null && getUsuario().getTipo().equals(Usuario.TipoUsuario.ADMIN);
    }

    public void setUsuario(Usuario usuario) {
        this.usuario = usuario;
    }
    
}
